package com.ss8;

/**
 * @Auther: 520ljs
 * @Date: 2022/3/12 - 03 - 12 - 14:05
 */
public class TestOuter {
    //1.在局部内部类中访问到的变量必需是被final修饰的
    public void method(){}
    final int num = 10;
    class A{
        public void a(){
            //num = 20;
            System.out.println(num);
        }
    }

    //2.如果类B在整个项目中只使用一次，那么就没有必要单独创建一个B类，使用内部类就可以了
    public Comparable method2(){
        class B implements Comparable{
            @Override
            public int compareTo(Object o) {
                return 100;
            }
        }
        return new B();
    }

    public Comparable method3(){
        //3.匿名内部类
        return new Comparable(){
            @Override
            public int compareTo(Object o) {
                return 200;
            }
        };
    }

    public void teat(){
        Comparable com = new Comparable(){
            @Override
            public int compareTo(Object o) {
                return 300;
            }
        };
        System.out.println(com.compareTo("abc"));
    }
}
